Introduction - License - Installation - Building the library
JUCE is an all-encompassing C++ class library for developing cross-platform applications.
A complete doxygen-created API guide is available here as HTML, or can be downloaded as a precompiled Windows help file from the downloads page.
For more help and information, please visit the JUCE website.
JUCE is released under the Gnu Public License, which means it can be freely copied and distributed, and costs nothing to use in open-source applications.
If you'd like to release a closed-source application that uses JUCE, commercial licenses are available for a fee - click here for more information on pricing and terms.
The JUCE source code all lives in a folder called, unsurprisingly, juce, which you can unzip
and put somewhere on your system.
To compile the library, there is a subfolder juce/build that contains projects for different
operating systems and compilers.
Inside the juce folder is a demo application that shows off a few of Juce's features.
The juce/demo/build folder contains projects and workspaces for the various platforms and compilers.
To compile the JUCE .lib files from the source code:
C:\Program Files\Microsoft Platform SDK\include C:\Program Files\Microsoft Platform SDK\include\crt C:\Program Files\Microsoft Platform SDK\include\mfc C:\mycode\juce ...And the library search path should begin like this:
$(VSInstallDir)VC\lib C:\Program Files\Microsoft Platform SDK\lib C:\mycode\juce\bin ...
juce/build/win32/vcexpress/JUCE.vcprojThen, to create and build an application:
juce/projects and rename/customise
it, or create a new application project as an 'empty' WIN32 application - avoid saying yes to
MFC or any of the other rubbish that Visual Studio might offer to pollute your application with.juce.h in all your source files (it's best to
put this in a precompiled header).juce/bin directory.
This path can be set globally, or can be added to your project's linker settings.JUCEApplication class to find out how to create the application launch code.To compile the JUCE .lib files from the source code:
C:\Program Files\Microsoft Platform SDK\include C:\Program Files\Microsoft Platform SDK\include\crt C:\Program Files\Microsoft Platform SDK\include\mfc C:\mycode\juce ...And the library search path should begin like this:
C:\Program Files\Microsoft Visual Studio\VC98\LIB C:\Program Files\Microsoft Platform SDK\lib C:\mycode\juce\bin ...
juce/build/win32/vc6Note that there's a rather lame bug in VC6 that causes an internal compiler error if you include filenames that are too long. This can get triggered if you put the juce folder in a deeply-nested directory (such as your user home directory). Unfortunately I think the only workaround for this is to move the source tree to a shallower directory.
For info on building an application that links to Juce, see the VCExpress notes above above.
To compile the JUCE binaries from the source code:
Juce.xcodeproj file in juce/build/macosxlibjuce.a (release) and libjucedebug.a (debug), which will appear
in the juce/bin directory.Then, to create and build an application:
juce/projects and rename/customise it, or
create a new "Carbon Application" project.juce.h in all your source files.JUCEApplication class as your application launcher - see the API documentation for this
class for more details, or have a look at the example projects, or demos.juce.xcodeproj file into the project's "External Frameworks and Libraries"
list.Carbon.framework IOKit.framework CoreAudio.framework CoreMIDI.framework QuickTime.framework OpenGL.framework AGL.frameworkIn future there may be other frameworks that you'll need to link with to support new JUCE features. (It should be pretty obvious from the link-time error when one of these is missing).
\juce\build\win32\devcpp\juce.devC:\Program Files\Microsoft Platform SDK\Includeat the end of your include path to get some of the more recent header files.
juce/bin/libjuce.aThen, to create and build an application:
main.cppJUCEApplication classlibjuce.a (this will be in your juce/bin/ directory) libwininet.a libdsound.a libole32.a libwinmm.a libgdi32.a libuuid.a libshell32.a libvfw32.a librpcrt4.a (these are all in the Dev-C++ libraries folder)
/juce/build/linuxmake CONFIG=Debug", or use "make CONFIG=Release"
to build the release version. You can also use "make clean" to delete the intermediate
files.Then, to create and build an application:
/juce/bin/libjuce.a and
/juce/bin/libjuce_debug.a. You'll need to link to one of these in your app, and you'll
also need to link to these libraries:
freetype pthread X11If you've set the
JUCE_USE_XINERAMA flag in juce_Config.h, you'll also need to link to the
xinerama library.
And you'll need the GL and GLU libraries if you've enabled
JUCE_OPENGL
***